package com.grad.webstudy.service;

import com.github.pagehelper.PageInfo;
import com.grad.webstudy.dto.CourseTypeDto;
import com.grad.webstudy.model.CourseType;

import java.util.List;
import java.util.Map;

/**
 * @Description:
 * @Author: zjf
 * @Date: 2020/2/1 13:38.
 */
public interface CourseTypeService {

    /**
     * 增加课程分类
     * @param typeName
     * @return
     */
    boolean addCourseType(String typeName,int parentId,int type);


    /**
     * 根据ids删除课程分类
     * @param ids
     * @return
     */
    boolean deleteCourseType(String ids);


    /**
     * 更新课程信息
     * @param courseType
     * @return
     */
    boolean updateCourseType(CourseType courseType);


    /**
     * 分页查询课程分类信息
     * @param currPage
     * @param pageSize
     * @param keyword
     * @return
     */
    PageInfo queryAllCourseType(Integer currPage,
                                Integer pageSize,
                                Integer type,
                                String keyword);


    /**
     * 查询全部课程分类信息，不分页
     * @return
     */
    List<CourseType> queryAll();


    /**
     * 根据课程分类id查询课程分类名称
     * @param courseTypeIds
     * @return
     */
    String queryCourseTypeName(String courseTypeIds);


    /**
     * 查询某个类型的子类型及本身
     * @param parentId
     * @return id值集合
     */
    List<Integer> queryChildType(Integer parentId);


    /**
     * 查询某个方向的子类
     * @param parentId
     * @return
     */
    List<CourseType> queryChild(Integer parentId);


    /**
     * 查询方向
     * @return
     */
    List<CourseType> queryDire();


    /**
     * 查询全部子类
     * @return
     */
    List<CourseType> queryAllChild();


    /**
     * 根据子类id查询父类id
     * @param childId
     * @return
     */
    Integer queryParentId(Integer childId);


    Integer queryTypeByKeyword(String keyword);

}
